package com.zy.explore.sys.interfaces.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * description 表(sys_op_log)的返回视图VO对象
 *
 * @author 🇨🇳中国印🇨🇳
 * @date 2022年02月05日 10:17:27
 */
@ApiModel("OpLogVO")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OpLogVO {

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    private String id;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
    private String name;

    /**
     * 操作类型
     */
    @ApiModelProperty("操作类型")
    private Integer opType;

    /**
     * 是否执行成功（Y-是，N-否）
     */
    @ApiModelProperty("是否执行成功（Y-是，N-否）")
    private String success;

    /**
     * 具体消息
     */
    @ApiModelProperty("具体消息")
    private String message;

    /**
     * ip
     */
    @ApiModelProperty("ip")
    private String ip;

    /**
     * 地址
     */
    @ApiModelProperty("地址")
    private String location;

    /**
     * 浏览器
     */
    @ApiModelProperty("浏览器")
    private String browser;

    /**
     * 操作系统
     */
    @ApiModelProperty("操作系统")
    private String os;

    /**
     * 请求地址
     */
    @ApiModelProperty("请求地址")
    private String url;

    /**
     * 类名称
     */
    @ApiModelProperty("类名称")
    private String className;

    /**
     * 方法名称
     */
    @ApiModelProperty("方法名称")
    private String methodName;

    /**
     * 请求方式（GET POST PUT DELETE)
     */
    @ApiModelProperty("请求方式（GET POST PUT DELETE)")
    private String reqMethod;

    /**
     * 请求参数
     */
    @ApiModelProperty("请求参数")
    private String param;

    /**
     * 返回结果
     */
    @ApiModelProperty("返回结果")
    private String result;

    /**
     * 操作时间
     */
    @ApiModelProperty("操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date opTime;

    /**
     * 操作账号
     */
    @ApiModelProperty("操作账号")
    private String account;

    /**
     * 签名数据（除ID外）
     */
    @ApiModelProperty("签名数据（除ID外）")
    private String signValue;

}
